package com.voltmao.persistent.mapper;

import org.apache.ibatis.annotations.Param;
import com.voltmao.persistent.model.SysUserInfo;
import com.voltmao.persistent.model.SysUserInfoCriteria;

import java.util.List;
import java.util.Map;

/**
 * @author zhouyang
 */
public interface SysUserInfoMapper {
    int countByExample(SysUserInfoCriteria example);

    int deleteByExample(SysUserInfoCriteria example);

    int deleteByPrimaryKey(String dataId);

    int insert(SysUserInfo record);

    int insertSelective(SysUserInfo record);

    List<SysUserInfo> selectByExample(SysUserInfoCriteria example);

    SysUserInfo selectByPrimaryKey(String dataId);

    int updateByExampleSelective(@Param("record") SysUserInfo record, @Param("example") SysUserInfoCriteria example);

    int updateByExample(@Param("record") SysUserInfo record, @Param("example") SysUserInfoCriteria example);

    int updateByPrimaryKeySelective(SysUserInfo record);

    int updateByPrimaryKey(SysUserInfo record);

    SysUserInfo selectByExampleForOne(SysUserInfoCriteria example);

    Map<String, Object> selectMapByPrimaryKey(String dataId);

    Map<String, Object> selectMapByExampleForOne(SysUserInfoCriteria example);

    List<Map<String, Object>> selectMapByExample(SysUserInfoCriteria example);

    Map<String, Object> getLoginInfo(String dataId);

    String getZJName();

    /**
     * 意向渠道忘记密码，重置密码
     * @param params
     * @return
     */
    int resetPwd(Map<String, Object> params);

    /**
     * 员工修改密码
     * @param params
     * @return
     */
    int updatePwd(Map<String, Object> params);
}